CertiScan Device Registry Implementation Guide (FHIR R4B)
0.1.0 - ci-build
CertiScan Device Registry Implementation Guide (FHIR R4B) - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-connect-scan | Version: 0.1.0 | |||
| Draft as of 2025-06-05 | Computable Name: CertiScanConnectScan | |||
An Observation profile representing a scan initiated through CertiScan-connected software, typically using a desktop reader or middleware system.
Unlike devices with native NFC capabilities, this scan is managed by host software that communicates with the smart device, often involving complex message workflows or multi-step interactions.
Used when device communication is facilitated via USB, serial, or Bluetooth-based connections rather than passive tag detection.
Usages:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | CertiScanScan | Measurements and simple assertions Constraints: obs-6, obs-7 |
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact |
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource |
![]() ![]() ![]() |
SΣ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-connect-scan |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..1 | string | CertiScan Scan IP Address URL: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-ip | |
![]() ![]() ![]() |
0..1 | string | CertiScan Scan User Agent URL: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-user-agent | |
![]() ![]() ![]() |
1..1 | (Complex) | CertiScan Scan Payload URL: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-payload | |
![]() ![]() ![]() ![]() |
3..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "source" | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Value of extension Slice: Unordered, Closed by type:$this | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Value of extension Binding: CertiScan Scan Payload Source (required) Required Pattern: At least the following | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.certiscan.cloud/device-registry/0.1.0/CodeSystem/certiscan-scan-payload-source-cs | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: connect | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | string | Plain text representation of the concept |
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "format" | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Coding | Value of extension Slice: Unordered, Closed by type:$this | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Coding | Value of extension | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | Identity of the terminology system Fixed Value: http://www.iana.org/assignments/media-types |
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "data" | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension Slice: Unordered, Closed by type:$this | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension | |
![]() ![]() ![]() ![]() |
1..1 | uri | "https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-payload" | |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. Required Pattern: final |
![]() ![]() |
0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | |
![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: procedure | |
![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Fixed Value: Procedure | |
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
![]() ![]() |
SΣ | 1..1 | Reference(Patient) | Who and/or what the observation is about |
![]() ![]() |
Σ | 1..1 | dateTime | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this |
![]() ![]() ![]() |
SΣ | 1..1 | dateTime | Clinically relevant time/time-period for observation |
![]() ![]() |
Σ | 1..1 | Reference(Practitioner | Patient) | Who is responsible for the observation |
![]() ![]() |
S | 1..1 | Reference(Device) | (Measurement) Device |
Documentation for this format | ||||
| Path | Conformance | ValueSet / Code | URI |
| Observation.extension:payload.extension:source.value[x]:valueCodeableConcept | required | Pattern Value: connecthttps://fhir.certiscan.cloud/device-registry/0.1.0/ValueSet/certiscan-scan-payload-source-vsFrom this IG | |
| Observation.status | required | Pattern Value: finalhttp://hl7.org/fhir/ValueSet/observation-status|4.3.0From the FHIR Standard | |
| Observation.category | preferred | Pattern Value: procedure("Procedure")http://hl7.org/fhir/ValueSet/observation-categoryFrom the FHIR Standard | |
| Observation.code | example | LOINCCodes(a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codesFrom the FHIR Standard |
| Id | Grade | Path(s) | Details | Requirements |
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Observation | 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty() | |
| dom-4 | error | Observation | 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 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Observation | 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() | |
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
| obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
This structure is derived from CertiScanScan
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | CertiScanScan | Measurements and simple assertions | |
![]() ![]() |
||||
![]() ![]() ![]() |
1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-connect-scan | |
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
1..1 | CertiScanScanPayload | CertiScan Scan Payload | |
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |
![]() ![]() ![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Value of extension Required Pattern: At least the following | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.certiscan.cloud/device-registry/0.1.0/CodeSystem/certiscan-scan-payload-source-cs | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: connect | |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | CertiScanScan | Measurements and simple assertions Constraints: obs-6, obs-7 | ||||
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]() |
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Identifies where the resource comes from | ||||
![]() ![]() ![]() |
SΣ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-connect-scan | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible) | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example) | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): IETF language tag
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources Constraints: dom-r4b | |||||
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
0..1 | string | CertiScan Scan IP Address URL: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-ip | |||||
![]() ![]() ![]() |
0..1 | string | CertiScan Scan User Agent URL: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-user-agent | |||||
![]() ![]() ![]() |
1..1 | (Complex) | CertiScan Scan Payload URL: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-payload | |||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
3..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "source" | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Value of extension Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Value of extension Binding: CertiScan Scan Payload Source (required) Required Pattern: At least the following | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.certiscan.cloud/device-registry/0.1.0/CodeSystem/certiscan-scan-payload-source-cs | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: connect | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "format" | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Coding | Value of extension Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Coding | Value of extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | Identity of the terminology system Fixed Value: http://www.iana.org/assignments/media-types | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "data" | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension | |||||
![]() ![]() ![]() ![]() |
1..1 | uri | "https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-payload" | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Business Identifier for observation | ||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||
![]() ![]() |
Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
![]() ![]() |
?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. Required Pattern: final | ||||
![]() ![]() |
0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: procedure | |||||
![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Fixed Value: Procedure | |||||
![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||
![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system Binding: CertiScan Scan Type ValueSet (required) | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient) | Who and/or what the observation is about | ||||
![]() ![]() |
Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
![]() ![]() |
Σ | 1..1 | dateTime | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this | ||||
![]() ![]() ![]() |
SΣ | 1..1 | dateTime | Clinically relevant time/time-period for observation | ||||
![]() ![]() |
Σ | 0..1 | instant | Date/Time this version was made available | ||||
![]() ![]() |
Σ | 1..1 | Reference(Practitioner | Patient) | Who is responsible for the observation | ||||
![]() ![]() |
ΣC | 0..1 | Actual result | |||||
![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() |
C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() |
0..* | Annotation | Comments about the observation | |||||
![]() ![]() |
0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts | |||||
![]() ![]() |
0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations. | |||||
![]() ![]() |
0..1 | Reference(Specimen) | Specimen used for this observation | |||||
![]() ![]() |
S | 1..1 | Reference(Device) | (Measurement) Device | ||||
![]() ![]() |
C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity | Low Range, if relevant | ||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity | High Range, if relevant | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
![]() ![]() ![]() |
0..1 | Range | Applicable age range, if relevant | |||||
![]() ![]() ![]() |
0..1 | string | Text based reference range in an observation | |||||
![]() ![]() |
Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group | ||||
![]() ![]() |
Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Component results | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
![]() ![]() ![]() |
Σ | 0..1 | Actual component result | |||||
![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format | ||||||||
| Path | Conformance | ValueSet / Code | URI | |||
| Observation.meta.security | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labelsFrom the FHIR Standard | ||||
| Observation.meta.tag | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tagsFrom the FHIR Standard | ||||
| Observation.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languagesFrom the FHIR Standard
| ||||
| Observation.extension:payload.extension:source.value[x]:valueCodeableConcept | required | Pattern Value: connecthttps://fhir.certiscan.cloud/device-registry/0.1.0/ValueSet/certiscan-scan-payload-source-vsFrom this IG | ||||
| Observation.status | required | Pattern Value: finalhttp://hl7.org/fhir/ValueSet/observation-status|4.3.0From the FHIR Standard | ||||
| Observation.category | preferred | Pattern Value: procedure("Procedure")http://hl7.org/fhir/ValueSet/observation-categoryFrom the FHIR Standard | ||||
| Observation.code | example | LOINCCodes(a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codesFrom the FHIR Standard | ||||
| Observation.code.coding | required | CertiScanScanTypeVS(a valid code from CertiScan Scan Type)https://fhir.certiscan.cloud/device-registry/0.1.0/ValueSet/certiscan-scan-type-vsFrom this IG | ||||
| Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reasonFrom the FHIR Standard | ||||
| Observation.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretationFrom the FHIR Standard | ||||
| Observation.bodySite | example | SNOMEDCTBodyStructureshttp://hl7.org/fhir/ValueSet/body-siteFrom the FHIR Standard | ||||
| Observation.method | example | ObservationMethodshttp://hl7.org/fhir/ValueSet/observation-methodsFrom the FHIR Standard | ||||
| Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodeshttp://hl7.org/fhir/ValueSet/referencerange-meaningFrom the FHIR Standard | ||||
| Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodeshttp://hl7.org/fhir/ValueSet/referencerange-appliestoFrom the FHIR Standard | ||||
| Observation.component.code | example | LOINCCodes(a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codesFrom the FHIR Standard | ||||
| Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reasonFrom the FHIR Standard | ||||
| Observation.component.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretationFrom the FHIR Standard |
| Id | Grade | Path(s) | Details | Requirements |
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Observation | 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty() | |
| dom-4 | error | Observation | 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 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
| dom-r4b | warning | Observation.contained | Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems : ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic) | |
| 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() | |
| obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() | |
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
| obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
This structure is derived from CertiScanScan
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | CertiScanScan | Measurements and simple assertions Constraints: obs-6, obs-7 |
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact |
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource |
![]() ![]() ![]() |
SΣ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-connect-scan |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..1 | string | CertiScan Scan IP Address URL: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-ip | |
![]() ![]() ![]() |
0..1 | string | CertiScan Scan User Agent URL: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-user-agent | |
![]() ![]() ![]() |
1..1 | (Complex) | CertiScan Scan Payload URL: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-payload | |
![]() ![]() ![]() ![]() |
3..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "source" | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Value of extension Slice: Unordered, Closed by type:$this | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Value of extension Binding: CertiScan Scan Payload Source (required) Required Pattern: At least the following | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.certiscan.cloud/device-registry/0.1.0/CodeSystem/certiscan-scan-payload-source-cs | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: connect | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | string | Plain text representation of the concept |
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "format" | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Coding | Value of extension Slice: Unordered, Closed by type:$this | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Coding | Value of extension | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | Identity of the terminology system Fixed Value: http://www.iana.org/assignments/media-types |
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "data" | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension Slice: Unordered, Closed by type:$this | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension | |
![]() ![]() ![]() ![]() |
1..1 | uri | "https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-payload" | |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. Required Pattern: final |
![]() ![]() |
0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | |
![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: procedure | |
![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Fixed Value: Procedure | |
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
![]() ![]() |
SΣ | 1..1 | Reference(Patient) | Who and/or what the observation is about |
![]() ![]() |
Σ | 1..1 | dateTime | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this |
![]() ![]() ![]() |
SΣ | 1..1 | dateTime | Clinically relevant time/time-period for observation |
![]() ![]() |
Σ | 1..1 | Reference(Practitioner | Patient) | Who is responsible for the observation |
![]() ![]() |
S | 1..1 | Reference(Device) | (Measurement) Device |
Documentation for this format | ||||
| Path | Conformance | ValueSet / Code | URI |
| Observation.extension:payload.extension:source.value[x]:valueCodeableConcept | required | Pattern Value: connecthttps://fhir.certiscan.cloud/device-registry/0.1.0/ValueSet/certiscan-scan-payload-source-vsFrom this IG | |
| Observation.status | required | Pattern Value: finalhttp://hl7.org/fhir/ValueSet/observation-status|4.3.0From the FHIR Standard | |
| Observation.category | preferred | Pattern Value: procedure("Procedure")http://hl7.org/fhir/ValueSet/observation-categoryFrom the FHIR Standard | |
| Observation.code | example | LOINCCodes(a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codesFrom the FHIR Standard |
| Id | Grade | Path(s) | Details | Requirements |
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Observation | 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty() | |
| dom-4 | error | Observation | 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 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Observation | 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() | |
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
| obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
Differential View
This structure is derived from CertiScanScan
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | CertiScanScan | Measurements and simple assertions | |
![]() ![]() |
||||
![]() ![]() ![]() |
1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-connect-scan | |
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
1..1 | CertiScanScanPayload | CertiScan Scan Payload | |
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |
![]() ![]() ![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Value of extension Required Pattern: At least the following | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.certiscan.cloud/device-registry/0.1.0/CodeSystem/certiscan-scan-payload-source-cs | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: connect | |
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | CertiScanScan | Measurements and simple assertions Constraints: obs-6, obs-7 | ||||
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]() |
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Identifies where the resource comes from | ||||
![]() ![]() ![]() |
SΣ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-connect-scan | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible) | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example) | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): IETF language tag
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources Constraints: dom-r4b | |||||
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
0..1 | string | CertiScan Scan IP Address URL: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-ip | |||||
![]() ![]() ![]() |
0..1 | string | CertiScan Scan User Agent URL: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-user-agent | |||||
![]() ![]() ![]() |
1..1 | (Complex) | CertiScan Scan Payload URL: https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-payload | |||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
3..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "source" | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Value of extension Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Value of extension Binding: CertiScan Scan Payload Source (required) Required Pattern: At least the following | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.certiscan.cloud/device-registry/0.1.0/CodeSystem/certiscan-scan-payload-source-cs | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: connect | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "format" | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Coding | Value of extension Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Coding | Value of extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | Identity of the terminology system Fixed Value: http://www.iana.org/assignments/media-types | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "data" | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension | |||||
![]() ![]() ![]() ![]() |
1..1 | uri | "https://fhir.certiscan.cloud/device-registry/0.1.0/StructureDefinition/certiscan-scan-payload" | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Business Identifier for observation | ||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||
![]() ![]() |
Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
![]() ![]() |
?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. Required Pattern: final | ||||
![]() ![]() |
0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: procedure | |||||
![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Fixed Value: Procedure | |||||
![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||
![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system Binding: CertiScan Scan Type ValueSet (required) | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient) | Who and/or what the observation is about | ||||
![]() ![]() |
Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
![]() ![]() |
Σ | 1..1 | dateTime | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this | ||||
![]() ![]() ![]() |
SΣ | 1..1 | dateTime | Clinically relevant time/time-period for observation | ||||
![]() ![]() |
Σ | 0..1 | instant | Date/Time this version was made available | ||||
![]() ![]() |
Σ | 1..1 | Reference(Practitioner | Patient) | Who is responsible for the observation | ||||
![]() ![]() |
ΣC | 0..1 | Actual result | |||||
![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() |
C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() |
0..* | Annotation | Comments about the observation | |||||
![]() ![]() |
0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts | |||||
![]() ![]() |
0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations. | |||||
![]() ![]() |
0..1 | Reference(Specimen) | Specimen used for this observation | |||||
![]() ![]() |
S | 1..1 | Reference(Device) | (Measurement) Device | ||||
![]() ![]() |
C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity | Low Range, if relevant | ||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity | High Range, if relevant | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
![]() ![]() ![]() |
0..1 | Range | Applicable age range, if relevant | |||||
![]() ![]() ![]() |
0..1 | string | Text based reference range in an observation | |||||
![]() ![]() |
Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group | ||||
![]() ![]() |
Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Component results | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
![]() ![]() ![]() |
Σ | 0..1 | Actual component result | |||||
![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format | ||||||||
| Path | Conformance | ValueSet / Code | URI | |||
| Observation.meta.security | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labelsFrom the FHIR Standard | ||||
| Observation.meta.tag | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tagsFrom the FHIR Standard | ||||
| Observation.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languagesFrom the FHIR Standard
| ||||
| Observation.extension:payload.extension:source.value[x]:valueCodeableConcept | required | Pattern Value: connecthttps://fhir.certiscan.cloud/device-registry/0.1.0/ValueSet/certiscan-scan-payload-source-vsFrom this IG | ||||
| Observation.status | required | Pattern Value: finalhttp://hl7.org/fhir/ValueSet/observation-status|4.3.0From the FHIR Standard | ||||
| Observation.category | preferred | Pattern Value: procedure("Procedure")http://hl7.org/fhir/ValueSet/observation-categoryFrom the FHIR Standard | ||||
| Observation.code | example | LOINCCodes(a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codesFrom the FHIR Standard | ||||
| Observation.code.coding | required | CertiScanScanTypeVS(a valid code from CertiScan Scan Type)https://fhir.certiscan.cloud/device-registry/0.1.0/ValueSet/certiscan-scan-type-vsFrom this IG | ||||
| Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reasonFrom the FHIR Standard | ||||
| Observation.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretationFrom the FHIR Standard | ||||
| Observation.bodySite | example | SNOMEDCTBodyStructureshttp://hl7.org/fhir/ValueSet/body-siteFrom the FHIR Standard | ||||
| Observation.method | example | ObservationMethodshttp://hl7.org/fhir/ValueSet/observation-methodsFrom the FHIR Standard | ||||
| Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodeshttp://hl7.org/fhir/ValueSet/referencerange-meaningFrom the FHIR Standard | ||||
| Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodeshttp://hl7.org/fhir/ValueSet/referencerange-appliestoFrom the FHIR Standard | ||||
| Observation.component.code | example | LOINCCodes(a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codesFrom the FHIR Standard | ||||
| Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reasonFrom the FHIR Standard | ||||
| Observation.component.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretationFrom the FHIR Standard |
| Id | Grade | Path(s) | Details | Requirements |
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Observation | 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty() | |
| dom-4 | error | Observation | 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 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
| dom-r4b | warning | Observation.contained | Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems : ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic) | |
| 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() | |
| obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() | |
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
| obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
This structure is derived from CertiScanScan
Other representations of profile: CSV, Excel, Schematron