Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -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"
Expand All @@ -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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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",
Expand Down Expand Up @@ -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",
Expand Down
21 changes: 9 additions & 12 deletions src/fhir/questionnaireUtilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,9 @@ export class QuestionnaireUtilities {
const returnValue = this.vsacCache.cacheLibrary(library);
return returnValue;
}
static async findQuestionnaire(id: string): Promise<Questionnaire | null | undefined> {
return await QuestionnaireModel.findOne({ id: id.toString() });

static async findQuestionnaireByUrl(url: string): Promise<Questionnaire | null | undefined> {
return await QuestionnaireModel.findOne({ url: url.toString() });
}
static async findLibraryByUrl(url: string): Promise<Library | null | undefined> {
return await LibraryModel.findOne({ url: url.toString() });
Expand Down Expand Up @@ -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 => {
Expand Down