diff --git a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-AssessmentAndPlan.json b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-AssessmentAndPlan.json index 5597281d..1724d07a 100644 --- a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-AssessmentAndPlan.json +++ b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-AssessmentAndPlan.json @@ -2,6 +2,7 @@ "resourceType": "Questionnaire", "id": "assessment-and-plan", "name": "Assessment and Plan Module", + "url": "http://hl7.org/fhir/Questionnaire/assessment-and-plan", "meta": { "profile": [ "http://hl7.org/fhir/StructureDefinition/cqf-questionnaire", diff --git a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-Encounter.json b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-Encounter.json index 19031025..1afac0cd 100644 --- a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-Encounter.json +++ b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-Encounter.json @@ -2,6 +2,7 @@ "resourceType": "Questionnaire", "id": "encounter", "name": "Encounter Module", + "url": "http://hl7.org/fhir/Questionnaire/encounter", "meta": { "profile": [ "http://hl7.org/fhir/StructureDefinition/cqf-questionnaire", diff --git a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PatientInfo.json b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PatientInfo.json index a7a6eb24..64793164 100644 --- a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PatientInfo.json +++ b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PatientInfo.json @@ -2,6 +2,7 @@ "resourceType": "Questionnaire", "id": "patient-info", "name": "Patient Module", + "url": "http://hl7.org/fhir/Questionnaire/patient-info", "meta": { "profile": [ "http://hl7.org/fhir/StructureDefinition/cqf-questionnaire", diff --git a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PatientInfoBase.json b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PatientInfoBase.json index 1fb44220..b8a3d55f 100644 --- a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PatientInfoBase.json +++ b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PatientInfoBase.json @@ -2,6 +2,7 @@ "resourceType": "Questionnaire", "id": "patient-info-base", "name": "Base Patient Module", + "url": "http://hl7.org/fhir/Questionnaire/patient-info-base", "meta": { "profile": [ "http://hl7.org/fhir/StructureDefinition/cqf-questionnaire", diff --git a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PatientSignature.json b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PatientSignature.json index bf456917..839bebe0 100644 --- a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PatientSignature.json +++ b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PatientSignature.json @@ -2,6 +2,7 @@ "resourceType": "Questionnaire", "id": "patient-signature", "name": "Patient Signature", + "url": "http://hl7.org/fhir/Questionnaire/patient-signature", "meta": { "profile": [ "http://hl7.org/fhir/StructureDefinition/cqf-questionnaire", diff --git a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PhysicalExam.json b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PhysicalExam.json index 3a87200c..8a0ae2e1 100644 --- a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PhysicalExam.json +++ b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PhysicalExam.json @@ -2,6 +2,7 @@ "resourceType": "Questionnaire", "id": "physical-exam", "name": "Physican Exam Module", + "url": "http://hl7.org/fhir/Questionnaire/physical-exam", "meta": { "profile": [ "http://hl7.org/fhir/StructureDefinition/cqf-questionnaire", diff --git a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PractitionerInfo.json b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PractitionerInfo.json index e930b5d5..39805ca4 100644 --- a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PractitionerInfo.json +++ b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PractitionerInfo.json @@ -2,6 +2,7 @@ "resourceType": "Questionnaire", "id": "practitioner-info", "name": "Practitioner Module", + "url": "http://hl7.org/fhir/Questionnaire/practitioner-info", "meta": { "profile": [ "http://hl7.org/fhir/StructureDefinition/cqf-questionnaire", diff --git a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PractitionerInfoBase.json b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PractitionerInfoBase.json index f0ee8a7b..0ff1eea0 100644 --- a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PractitionerInfoBase.json +++ b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-PractitionerInfoBase.json @@ -2,6 +2,7 @@ "resourceType": "Questionnaire", "id": "practitioner-info-base", "name": "Base Practitioner Module", + "url": "http://hl7.org/fhir/Questionnaire/practitioner-info-base", "meta": { "profile": [ "http://hl7.org/fhir/StructureDefinition/cqf-questionnaire", diff --git a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-ProviderSignature.json b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-ProviderSignature.json index 4a8a92f9..8a6f8c28 100644 --- a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-ProviderSignature.json +++ b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-ProviderSignature.json @@ -2,6 +2,8 @@ "resourceType": "Questionnaire", "id": "provider-signature", "name": "Provider Signature", + "url": "http://hl7.org/fhir/Questionnaire/provider-signature", + "meta": { "profile": [ "http://hl7.org/fhir/StructureDefinition/cqf-questionnaire", diff --git a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-ReviewOfSystem.json b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-ReviewOfSystem.json index 338e199b..e186971c 100644 --- a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-ReviewOfSystem.json +++ b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-ReviewOfSystem.json @@ -1,6 +1,7 @@ { "resourceType": "Questionnaire", "id": "review-of-system", + "url": "http://hl7.org/fhir/Questionnaire/review-of-system", "meta": { "profile": [ "http://hl7.org/fhir/StructureDefinition/cqf-questionnaire", diff --git a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-Subjective.json b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-Subjective.json index cc1328ab..6493ef6c 100644 --- a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-Subjective.json +++ b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-Subjective.json @@ -2,6 +2,8 @@ "resourceType": "Questionnaire", "id": "subjective", "name": "Subjective Module", + "url": "http://hl7.org/fhir/Questionnaire/subjective", + "meta": { "profile": [ "http://hl7.org/fhir/StructureDefinition/cqf-questionnaire", diff --git a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-VitalSigns.json b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-VitalSigns.json index efa8402a..dd99ee6f 100644 --- a/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-VitalSigns.json +++ b/src/cds-library/CRD-DTR/Shared/R4/resources/Questionnaire-R4-VitalSigns.json @@ -1,6 +1,8 @@ { "resourceType": "Questionnaire", "id": "vital-signs", + "url": "http://hl7.org/fhir/Questionnaire/vital-signs", + "meta": { "profile": [ "http://hl7.org/fhir/StructureDefinition/cqf-questionnaire", diff --git a/src/cds-library/CRD-DTR/TIRF/R4/resources/Questionnaire-R4-Prescriber-Knowledge-Assessment-TIRF.json b/src/cds-library/CRD-DTR/TIRF/R4/resources/Questionnaire-R4-Prescriber-Knowledge-Assessment-TIRF.json index 600bca2e..21661c92 100644 --- a/src/cds-library/CRD-DTR/TIRF/R4/resources/Questionnaire-R4-Prescriber-Knowledge-Assessment-TIRF.json +++ b/src/cds-library/CRD-DTR/TIRF/R4/resources/Questionnaire-R4-Prescriber-Knowledge-Assessment-TIRF.json @@ -25,12 +25,12 @@ "linkId": "1.1", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/practitioner-info-base" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/practitioner-info-base" }, { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire-expand", - "valueBoolean": true + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-collapsible", + "valueCode": "default-open" } ], "type": "display" @@ -366,8 +366,8 @@ "linkId": "2.2", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/provider-signature" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/provider-signature" } ], "type": "display" diff --git a/src/cds-library/CRD-DTR/TIRF/R4/resources/Questionnaire-R4-PrescriberEnrollment-TIRF.json b/src/cds-library/CRD-DTR/TIRF/R4/resources/Questionnaire-R4-PrescriberEnrollment-TIRF.json index 5bd192ca..be8a4684 100644 --- a/src/cds-library/CRD-DTR/TIRF/R4/resources/Questionnaire-R4-PrescriberEnrollment-TIRF.json +++ b/src/cds-library/CRD-DTR/TIRF/R4/resources/Questionnaire-R4-PrescriberEnrollment-TIRF.json @@ -25,12 +25,12 @@ "linkId": "1.1", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/practitioner-info-base" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/practitioner-info-base" }, { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire-expand", - "valueBoolean": true + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-collapsible", + "valueCode": "default-open" } ], "type": "display" @@ -413,8 +413,8 @@ "linkId": "4.2", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/provider-signature" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/provider-signature" } ], "type": "display" diff --git a/src/cds-library/CRD-DTR/TIRF/R4/resources/Questionnaire-R4-TIRF.json b/src/cds-library/CRD-DTR/TIRF/R4/resources/Questionnaire-R4-TIRF.json index e54c25bc..1c8ec8ab 100644 --- a/src/cds-library/CRD-DTR/TIRF/R4/resources/Questionnaire-R4-TIRF.json +++ b/src/cds-library/CRD-DTR/TIRF/R4/resources/Questionnaire-R4-TIRF.json @@ -25,12 +25,12 @@ "linkId": "1.1", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/patient-info-base" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/patient-info-base" }, { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire-expand", - "valueBoolean": true + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-collapsible", + "valueCode": "default-open" } ], "type": "display" @@ -277,8 +277,8 @@ "linkId": "3.2", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/patient-signature" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/patient-signature" } ], "type": "display" @@ -842,8 +842,8 @@ "linkId": "7.2", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/provider-signature" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/provider-signature" } ], "type": "display" diff --git a/src/cds-library/CRD-DTR/Turalio/R4/resources/Questionnaire-R4-PrescriberEnrollment.json b/src/cds-library/CRD-DTR/Turalio/R4/resources/Questionnaire-R4-PrescriberEnrollment.json index d86fa4ba..2e082a9b 100644 --- a/src/cds-library/CRD-DTR/Turalio/R4/resources/Questionnaire-R4-PrescriberEnrollment.json +++ b/src/cds-library/CRD-DTR/Turalio/R4/resources/Questionnaire-R4-PrescriberEnrollment.json @@ -504,8 +504,8 @@ "linkId": "4.2", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/provider-signature" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/provider-signature" } ], "type": "display" diff --git a/src/cds-library/CRD-DTR/Turalio/R4/resources/Questionnaire-R4-Turalio.json b/src/cds-library/CRD-DTR/Turalio/R4/resources/Questionnaire-R4-Turalio.json index 6efc860c..7142bd5c 100644 --- a/src/cds-library/CRD-DTR/Turalio/R4/resources/Questionnaire-R4-Turalio.json +++ b/src/cds-library/CRD-DTR/Turalio/R4/resources/Questionnaire-R4-Turalio.json @@ -25,12 +25,12 @@ "linkId": "1.1", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/patient-info-base" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/patient-info-base" }, { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire-expand", - "valueBoolean": true + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-collapsible", + "valueCode": "default-open" } ], "type": "display" @@ -325,12 +325,12 @@ "linkId": "2.1", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/practitioner-info-base" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/practitioner-info-base" }, { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire-expand", - "valueBoolean": true + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-collapsible", + "valueCode": "default-open" } ], "type": "display" @@ -1137,8 +1137,8 @@ "linkId": "6.2", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/provider-signature" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/provider-signature" } ], "type": "display" @@ -1160,8 +1160,8 @@ "linkId": "7.2", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/patient-signature" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/patient-signature" } ], "type": "display" diff --git a/src/cds-library/CRD-DTR/Turalio/R4/resources/Questionnaire-R4-TuralioProgressNote.json b/src/cds-library/CRD-DTR/Turalio/R4/resources/Questionnaire-R4-TuralioProgressNote.json index fd80e731..23fd20fb 100644 --- a/src/cds-library/CRD-DTR/Turalio/R4/resources/Questionnaire-R4-TuralioProgressNote.json +++ b/src/cds-library/CRD-DTR/Turalio/R4/resources/Questionnaire-R4-TuralioProgressNote.json @@ -26,8 +26,8 @@ "linkId": "1", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/patient-info" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/patient-info" } ], "type": "display", @@ -37,12 +37,12 @@ "linkId": "2", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/practitioner-info-base" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/practitioner-info-base" }, { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire-expand", - "valueBoolean": true + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-collapsible", + "valueCode": "default-open" } ], "type": "display", @@ -504,8 +504,8 @@ "linkId": "5", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/sub-questionnaire", - "valueCanonical": "questionnaire/provider-signature" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", + "valueCanonical": "http://hl7.org/fhir/Questionnaire/provider-signature" } ], "type": "display", diff --git a/src/fhir/questionnaireUtilities.ts b/src/fhir/questionnaireUtilities.ts index 9e7c54a2..64b30207 100644 --- a/src/fhir/questionnaireUtilities.ts +++ b/src/fhir/questionnaireUtilities.ts @@ -104,8 +104,9 @@ export class QuestionnaireUtilities { const returnValue = this.vsacCache.cacheLibrary(library); return returnValue; } - static async findQuestionnaire(id: string): Promise { - return await QuestionnaireModel.findOne({ id: id.toString() }); + + static async findQuestionnaireByUrl(url: string): Promise { + return await QuestionnaireModel.findOne({ url: url.toString() }); } static async findLibraryByUrl(url: string): Promise { return await LibraryModel.findOne({ url: url.toString() }); @@ -167,26 +168,22 @@ export class QuestionnaireUtilities { ) { const ext = this.getExtension( item, - 'http://hl7.org/fhir/StructureDefinition/sub-questionnaire' + 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire' ); if (ext) { const subQ = ext.valueCanonical; + console.log(subQ); if (subQ) { - // not undefind - let id = subQ; - const parts = subQ.split('/'); - if (id.length > 1) { - id = parts[1]; - } + // not undefined let expandRootItem = false; const expandExt = this.getExtension( item, - 'http://hl7.org/fhir/StructureDefinition/sub-questionnaire-expand' + 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-collapsible' ); if (expandExt && expandExt.valueBoolean) { - expandRootItem = expandExt.valueBoolean; + expandRootItem = expandExt.valueCode === 'default-open'; } - const subQuestionnaire = await this.findQuestionnaire(id); + const subQuestionnaire = await this.findQuestionnaireByUrl(subQ); if (subQuestionnaire) { const subExtensions = subQuestionnaire.extension || []; subExtensions.forEach(ext => {