@openmrs/esm-form-engine-lib 4.1.1-pre.2378 → 4.1.1-pre.2382
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +17 -0
- package/package.json +1 -1
- package/src/api/index.ts +24 -3
package/dist/api/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare function getLocationsByTag(tag: string): Promise<any>;
|
|
|
7
7
|
export declare function getAllLocations(): Promise<any>;
|
|
8
8
|
export declare function getPreviousEncounter(patientUuid: string, encounterType: string): Promise<any>;
|
|
9
9
|
export declare function getLatestObs(patientUuid: string, conceptUuid: string, encounterTypeUuid?: string): Promise<FHIRObsResource>;
|
|
10
|
+
export declare function getLatestObsForConceptSet(patientUuid: string, conceptUuid: string, encounterTypeUuid?: string): Promise<FHIRObsResource[]>;
|
|
10
11
|
/**
|
|
11
12
|
* Fetches an OpenMRS form using either its name or UUID.
|
|
12
13
|
* @param {string} nameOrUUID - The form's name or UUID.
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EAChB,MAAM,UAAU,CAAC;AAGlB,wBAAgB,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,OAAO,KAAA,EAAE,aAAa,CAAC,EAAE,MAAM,0DAa9F;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,0DAoBlH;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,gBAExD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,gBAE5C;AAED,wBAAgB,eAAe,iBAE9B;AAED,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBASpF;AAED,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EAChB,MAAM,UAAU,CAAC;AAGlB,wBAAgB,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,OAAO,KAAA,EAAE,aAAa,CAAC,EAAE,MAAM,0DAa9F;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,0DAoBlH;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,gBAExD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,gBAE5C;AAED,wBAAgB,eAAe,iBAE9B;AAED,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBASpF;AAED,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,eAAe,CAAC,CAO1B;AAED,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC,CAgB5B;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAqBtF;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAc1E;AAGD,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,gBAS7D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,eAAe,0DAarG;AAED,wBAAgB,qBAAqB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,0DAgB9F;AAED,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,0DAgBxF;AAED,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,SAAS,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,mBAAmB,EAC5B,eAAe,EAAE,eAAe,0DAmBjC"}
|
package/dist/api/index.js
CHANGED
|
@@ -58,6 +58,23 @@ export async function getLatestObs(patientUuid, conceptUuid, encounterTypeUuid)
|
|
|
58
58
|
const { data } = await openmrsFetch(`${fhirBaseUrl}/Observation?${params}`);
|
|
59
59
|
return data.entry?.length ? data.entry[0].resource : null;
|
|
60
60
|
}
|
|
61
|
+
export async function getLatestObsForConceptSet(patientUuid, conceptUuid, encounterTypeUuid) {
|
|
62
|
+
// First, find the single latest obs to identify the encounter
|
|
63
|
+
const latestObs = await getLatestObs(patientUuid, conceptUuid, encounterTypeUuid);
|
|
64
|
+
if (!latestObs) {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
const encounterId = latestObs.encounter?.reference?.split('/').pop();
|
|
68
|
+
if (!encounterId) {
|
|
69
|
+
return [
|
|
70
|
+
latestObs
|
|
71
|
+
];
|
|
72
|
+
}
|
|
73
|
+
// Fetch ALL obs for that concept within the same encounter
|
|
74
|
+
const params = `patient=${patientUuid}&code=${conceptUuid}&encounter=${encounterId}`;
|
|
75
|
+
const { data } = await openmrsFetch(`${fhirBaseUrl}/Observation?${params}`);
|
|
76
|
+
return data.entry?.map((e)=>e.resource) ?? [];
|
|
77
|
+
}
|
|
61
78
|
/**
|
|
62
79
|
* Fetches an OpenMRS form using either its name or UUID.
|
|
63
80
|
* @param {string} nameOrUUID - The form's name or UUID.
|
package/package.json
CHANGED
package/src/api/index.ts
CHANGED
|
@@ -77,15 +77,36 @@ export async function getLatestObs(
|
|
|
77
77
|
conceptUuid: string,
|
|
78
78
|
encounterTypeUuid?: string,
|
|
79
79
|
): Promise<FHIRObsResource> {
|
|
80
|
-
let params = `patient=${patientUuid}&code=${conceptUuid}${
|
|
81
|
-
|
|
82
|
-
}`;
|
|
80
|
+
let params = `patient=${patientUuid}&code=${conceptUuid}${encounterTypeUuid ? `&encounter.type=${encounterTypeUuid}` : ''
|
|
81
|
+
}`;
|
|
83
82
|
// the latest obs
|
|
84
83
|
params += '&_sort=-date&_count=1';
|
|
85
84
|
const { data } = await openmrsFetch(`${fhirBaseUrl}/Observation?${params}`);
|
|
86
85
|
return data.entry?.length ? data.entry[0].resource : null;
|
|
87
86
|
}
|
|
88
87
|
|
|
88
|
+
export async function getLatestObsForConceptSet(
|
|
89
|
+
patientUuid: string,
|
|
90
|
+
conceptUuid: string,
|
|
91
|
+
encounterTypeUuid?: string,
|
|
92
|
+
): Promise<FHIRObsResource[]> {
|
|
93
|
+
// First, find the single latest obs to identify the encounter
|
|
94
|
+
const latestObs = await getLatestObs(patientUuid, conceptUuid, encounterTypeUuid);
|
|
95
|
+
if (!latestObs) {
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
const encounterId = latestObs.encounter?.reference?.split('/').pop();
|
|
100
|
+
if (!encounterId) {
|
|
101
|
+
return [latestObs];
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Fetch ALL obs for that concept within the same encounter
|
|
105
|
+
const params = `patient=${patientUuid}&code=${conceptUuid}&encounter=${encounterId}`;
|
|
106
|
+
const { data } = await openmrsFetch(`${fhirBaseUrl}/Observation?${params}`);
|
|
107
|
+
return data.entry?.map((e) => e.resource) ?? [];
|
|
108
|
+
}
|
|
109
|
+
|
|
89
110
|
/**
|
|
90
111
|
* Fetches an OpenMRS form using either its name or UUID.
|
|
91
112
|
* @param {string} nameOrUUID - The form's name or UUID.
|