@@ -2,7 +2,7 @@ const { bodySiteTemplate, coding, reference, valueX } = require('./snippets');
2
2
const { ifSomeArgsObj } = require ( '../helpers/templateUtils' ) ;
3
3
const { isTumorMarker, isVitalSign, isKarnofskyPerformanceStatus, isECOGPerformanceStatus } = require ( '../helpers/observationUtils' ) ;
4
4
5
- function categoryTemplate ( { code } ) {
5
+ function categoryTemplate ( { code, system } ) {
6
6
if ( isVitalSign ( code ) ) {
7
7
return {
8
8
category : [
@@ -18,7 +18,7 @@ function categoryTemplate({ code }) {
18
18
] ,
19
19
} ;
20
20
}
21
- if ( isTumorMarker ( code ) ) {
21
+ if ( isTumorMarker ( code , system ) ) {
22
22
return {
23
23
category : [
24
24
{
@@ -51,9 +51,9 @@ function subjectTemplate({ subjectId }) {
51
51
} ;
52
52
}
53
53
54
- function valueTemplate ( { code, valueCode, valueCodeSystem } ) {
54
+ function valueTemplate ( { code, system , valueCode, valueCodeSystem } ) {
55
55
if ( ! ( code && valueCode ) ) return null ;
56
- if ( isTumorMarker ( code ) ) return valueX ( { code : valueCode , system : valueCodeSystem } , 'valueCodeableConcept' ) ;
56
+ if ( isTumorMarker ( code , system ) ) return valueX ( { code : valueCode , system : valueCodeSystem } , 'valueCodeableConcept' ) ;
57
57
if ( isECOGPerformanceStatus ( code ) || isKarnofskyPerformanceStatus ( code ) ) return valueX ( valueCode , 'valueInteger' ) ;
58
58
return valueX ( valueCode ) ; // Vital Sign will be parsed as quantity, others will be parsed as appropriate
59
59
}
@@ -70,11 +70,11 @@ function observationTemplate({
70
70
resourceType : 'Observation' ,
71
71
id,
72
72
status,
73
- ...categoryTemplate ( { code } ) ,
73
+ ...categoryTemplate ( { code, system } ) ,
74
74
...ifSomeArgsObj ( codeTemplate ) ( { code, system, display } ) ,
75
75
...subjectTemplate ( { subjectId } ) ,
76
76
effectiveDateTime,
77
- ...ifSomeArgsObj ( valueTemplate ) ( { code, valueCode, valueCodeSystem } ) ,
77
+ ...ifSomeArgsObj ( valueTemplate ) ( { code, system , valueCode, valueCodeSystem } ) ,
78
78
...ifSomeArgsObj ( bodySiteTemplate ) ( { bodySite, laterality } ) ,
79
79
} ;
80
80
}
0 commit comments